The present invention relates to a method and apparatus for bringing user terminals that are connected to networks out of suspend mode.
A modern user terminal, such as a workstation or personal computer (PC), provides an advanced power management (APM) feature, in which the user terminal can be set in a hibernation state (called suspend mode). In suspend mode, most of the components of a user terminal are in a state that consumes minimal power, and are not functional; some of the components, such as the system bus, are completely un-powered. Conventionally, a user terminal can be brought out of suspend mode by a user's activation of an input device, such as a mouse or keyboard, indicating the user requires full functionality of the terminal to perform work.
A problem occurs when a network management station tries to get access to a user terminal in suspend mode via a network, because the user terminal is no longer listening to the network in suspend mode. As a result, the user terminal will not respond to network management commands from across the network. Without having access to the user terminal, it is impossible to perform backups for the user terminal, to configure the user terminal, or to do software distribution to the user terminal via the network.
At present, a leading solution to this problem is, while a user terminal is in suspend mode, to power its network adapter to the degree that the network adapter can listen to the network (to which the user terminal is coupled). A special circuitry is used to look for a data packet with a special data pattern. Upon receiving the unique data packet, the network adapter generates a special interrupt to bring that user terminal out of suspend mode. In introducing such a technology, Advanced Micro Devices and Hewlett Packard have used the special data pattern in a packet (called magic packet). This special data pattern is the unique network address of the user terminal in suspend mode and repeated sixteen times within the magic packet.
Unfortunately, it does not work to use the magic packet approach to wake up user terminals when the magic packet is sent across a network that uses routers to separate the network into segments. A router can take a magic packet generated from one network segment and forward it to an intended user terminal located on another network segment according to the path information indicated by a routing table inside the router. To improve efficiency, the router frequently updates its routing table, and the aged routing information of the routing table may be replaced by new routing information. Thus, it can occur that from one network segment a router receives a magic packet destined to a user terminal on another network segment after the path information to the user terminal has been deleted from its routing table. Under this situation, before routing the magic packet, the router could send a broadcast packet to all the segments connected to it and wait for the acknowledgment from the network on which the user terminal is located. However, if the destined user terminal is in suspended mode, it will only listen to a magic packet, and will not respond to the broadcast packet. When the router hears no acknowledgment from the destined user terminal, it will assume that the destined user terminal does not exist and discard the magic packet. As a result, the destined user terminal can never be brought out of suspended mode by the magic packet.
Therefore, in the situation where user terminals are connected to a network via a routing device whose routing information is periodically updated, there is a need to provide an apparatus and method that can restore access to the user terminals via the network when the user terminals are in a suspend mode.
The present invention meets this need.